package _18_Abstraction_Polymorphism;

public class AbstractionDemo {

	public static void main(String[] args) 
	{
//		Shop shop = new Shop();
//		shop.movingObjects = new Movable[2];
//		shop.movingObjects = new Movable[3];
//		
//		Movable car = new Car();
//		Drivable jeep = new Jeep ();
//		
//		Car carConcrete = new Car();
//		
//		Human human = new Human();
//		human.breath();
//		human.makeNoise();
//		
//		Mammal mammal = new Human();
//		mammal.breath();
//		mammal.makeNoise();
//		
//		Mammal cat = new Cat();
//		cat.breath();
//		cat.makeNoise();
		
		Zoo myZoo = new Zoo();
		myZoo.mammals[0] = new Cat();
		myZoo.mammals[1] = new Human();
		myZoo.mammals[2] = new Elephant();
		myZoo.makeAllAnimalsNoisy();

		
	}

}
